package DAO;

import ClassesBasicas.Agenda;
import Excecao.AgendaInexistenteException;

public class RepositorioAgenda extends RepositorioBasico {



	public RepositorioAgenda(){
		super();
	}


	public void inserirAgenda(Agenda a){
		abreSessao();
		session.save(a);
		fechaSessao();		
	}

	public void atualizarAgenda(Agenda a){
		abreSessao();
		session.saveOrUpdate(a);
		fechaSessao();
	}

	public Agenda consultarAgenda(int codigo) throws AgendaInexistenteException{
		abreSessao();
		Agenda retorno = (Agenda) session.get(Agenda.class, codigo);
		fechaSessao();
		if(retorno == null){
			throw new AgendaInexistenteException(String.valueOf(codigo));
		}
		return retorno;
	}

	public void removerAgenda(int codigo){
		abreSessao();
		Agenda agenda = (Agenda) session.get(Agenda.class, codigo);
		session.delete(agenda);
		fechaSessao();
	}

	public boolean existeAgenda(int codigo){
		boolean existe = true;
		Agenda agenda = null;
		try {
			agenda = consultarAgenda(codigo);
		} catch (AgendaInexistenteException e) {
			e.printStackTrace();
		}
		if (agenda==null)
			existe = false;
		return existe;
	}
}
